package com.lzy.cloud.goods.service;

import com.github.pagehelper.PageInfo;
import com.lzy.cloud.goods.dtos.GoodsDto;
import com.lzy.framework.core.orm.db.Pager;


/**
 * Created by WIN7 on 2018/6/6.
 */
public interface GoodsService {

    /**
     * 新增商品
     * @param dto
     * @return
     */
    Long add(GoodsDto dto);

    /**
     * 删除商品
     * @param id
     * @return
     */
    Boolean del(Long id);

    /**
     * 根据id更新商品
     * @param dto
     * @return
     */
    Boolean updateById(GoodsDto dto);

    /**
     * 更新商品
     * @param dto
     * @return
     */
    Boolean updateByCode(GoodsDto dto);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    GoodsDto selectById(Long id);

    /**
     * 根据条件查询(分页)
     * @param dto
     * @return
     */
    PageInfo<GoodsDto> selectList(Pager pager, GoodsDto dto);

    /**
     * 根据类型查询(分页)
     * @param type
     * @return
     */
    PageInfo<GoodsDto> selectListByType(Pager pager,Integer type);

    /**
     * 根据code查询
     * @param code
     * @return
     */
    GoodsDto selectByCode(String code);

    /**
     * 根据id假删
     * @param substring
     */
    Boolean deleteById(String substring);

    /**
     * 根据id批量恢复到仓库
     * @param ids
     * @return
     */
    Boolean recoveryById(String ids);

    /**
     * 根据id真删
     * @param ids
     * @return
     */
    Boolean deleteByKey(Long ids);

    /**
     * 查询该商户最后一条记录
     * @return
     */
    GoodsDto selectLast(Long shopId);
}
